/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Segundo_paquete;

/**
 *
 * @author Estuardo Teleguario
 */
public class Numeros implements INumeros {

   private double entrada1, entrada2, resultado;       //para sumas, restas y multiplicaciones
   private double numerador, denominador;     // para division, por si se puede si no con las variables entrada1 y entrada2
   public int bandera;                        ////bandera que indica division por 0
   
   /**
    * 
    * Constructor Vacio 
    */
    public Numeros (){
        
    }
    
    /**
     * Constructor con argumentos
     * @param entrada1
     * @param entrada2
     *      
     * 
     */
    public Numeros(double entrada1, double entrada2){
        this.entrada1 = entrada1;
        this.entrada2 = entrada2;
        //this.resultado = resultado;
        
        
    }
    
    // accesores y modificadores
    
    /**
     * accesor del numero uno
     * @return
     */

    public double getEntrada1() {
        return entrada1;
    }
    
    /**
     * Modificador del numero uno
     * @param entrada1 
     */

    public void setEntrada1(double entrada1) {
        this.entrada1 = entrada1;
    }
    
    /**
     *  Accesor del numero dos
     * @return 
     */

    public double getEntrada2() {
        return entrada2;
    }
    
    /**
     * modificador del numero dos
     * @param entrada2 
     */

    public void setEntrada2(double entrada2) {
        this.entrada2 = entrada2;
    }
    
    // empieza ejecucion de operaciones
    
    /**
     * metodo para sumar dos numeros, devuelve el resultado en la variable resultado
     * @param numero1
     * @param numero2
     * @return El resultado de la suma
     */       
    public Numeros suma(Numeros numero1, Numeros numero2) {
        
        resultado = numero1.getEntrada1() + numero2.getEntrada2();
        
    return this;
    }
    

   /**
    * Metodo para restar dos numeros de tipo double, devuelve el resultado en la variable resultado
    * @param numero1
    * @param numero2
    * @return 
    */ 
    public Numeros resta(Numeros numero1, Numeros numero2) {
        resultado = numero1.getEntrada1() - numero2.getEntrada2();
    return this;
    }

    /**
     * Metodo para multiplicar dos numeros de tipo double, devuelve el resultado en la variable resultado
     * @param numero1
     * @param numero2
     * @return 
     */
    public Numeros multiplicacion(Numeros numero1, Numeros numero2) {
    
        resultado = numero1.getEntrada1() * numero2.getEntrada2();
    return this;
    }

    /**
     * Metodo para dividir dos numeros de tipo double, devuelve el resultado en la variable resultado
     * @param numero1
     * @param numero2
     * @return 
     */
    public Numeros division(Numeros numero1, Numeros numero2) {
        if (numero2.getEntrada2() !=0)
           {
               resultado=numero1.getEntrada1()/ numero2.getEntrada2();
           }
        else
            bandera=1;////indica que hay division por 0
            
       //Ya puse la Division, no le hice excepcion, solo le puse una bandera
       //para que indique si hay division por cero o no, y si se vuelve 1 entonces indica que
       //hay division por cero, entonces existe una condicion en el Main para que lo escriba
       //si quieren ponganle la excepcion.
    return this;
    }
    
    @Override
    public String toString(){
        return (" " + resultado);
    }
    
}
